#define _CRT_SECURE_NO_WARNINGS 1
#include<iostream>

using namespace std;

const int N = 10;
int n;
int nums[N];
bool st[N];

void dfs(int u)
{
	if (u == n)
	{
		for (int i = 0; i < n; i++)
		{
			cout << nums[i] << ' ';
		}
		cout << endl;
	}
	else
	{
		for (int i = 1; i <= n; i++)
		{
			if (!st[i])
			{
				nums[u] = i;
				st[i] = true;
				dfs(u + 1);
				st[i] = false;
			}
		}
	}
}

int main()
{
	
	cin >> n;
	dfs(0);
	return 0;
}